Members
Overall Objectives
Research Program
Application Domains
Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: Software and Platforms

Finite Fields

Participants : Pierrick Gaudry, Emmanuel Thomé [contact] , Luc Sanselme.

mp𝔽q is (yet another) library for computing in finite fields. The purpose of mp 𝔽q is not to provide a software layer for accessing finite fields determined at runtime within a computer algebra system like Magma, but rather to give a very efficient, optimized code for computing in finite fields precisely known at compile time. mp 𝔽q can adapt to finite fields of any characteristic and any extension degree. However, one of the targets being the use in cryptology, mp 𝔽q somehow focuses on prime fields and on fields of characteristic two.

When it was first written in 2007, mp 𝔽q established reference marks for fast elliptic curve cryptography: the authors improved over the fastest examples of key-sharing software in genus 1 and 2, both over binary fields and prime fields. A stream of academic works followed the idea behind mp 𝔽q and improved over such timings, notably by Scott, Aranha, Longa, Bos, Hisil, Costello.

The library's purpose being the generation of code rather than its execution, the working core of mp 𝔽q consists of roughly 18,000 lines of Perl code, which generate most of the C code. mp 𝔽q is distributed at http://mpfq.gforge.inria.fr/ .

In 2013, version 1.1 of mp 𝔽q has been released. This new release includes new assembly code by Luc Sanselme providing optimized arithmetic over fields whose characteristic fits in a number of bits which fit within half-word boundaries.

In 2013, Hamza Jeljeli collaborated with Bastien Vialla from LIRMM, Montpellier to integrate experimental code based on RNS arithmetic (Residue Number System), intending to provide back-end functionality for the linear algebra code in Cado-nfs . This feature set is still experimental.